package com.itheima.d2_recursion;

import java.io.File;

/**
 * 文件搜索
 */
public class RecursionDemo3 {
    public static void main(String[] args) {
        File dir = new File("C:\\");
        String steam = findSteam(dir, "QQ.avi");
        if(steam == null){
            System.out.println("没有找到该文件！");
        }


    }

    public static String findSteam(File dir, String findName) {
        //1.先判断极端情况
        if (dir == null || !dir.exists()) {
            return null;//不搜索
        }
        //2.进入当前文件夹
        File[] files = dir.listFiles();
        //3.判断极端情况
        if (files != null && files.length > 0) {
            //3.遍历
            for (File file : files) {//此时的file 就是当前文件夹的所有文件或文件夹
                //4.判断是文件夹还是文件
                //文件
                if (file.isFile()) {
                    //继续判断和要找的文件想不想等
                    if (file.getName().contains(findName)) {
                        System.out.println("找到了该文件的路径：" + file.getAbsolutePath());
                        return file.getAbsolutePath();
                    }
                }
                //文件夹
                else {
                    //递归 继续调用该方法
                    findSteam(file, findName);
                }
            }
        }
        return null;
    }
}
